package com.jhgsys.internal.system.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.jhgsys.internal.common.entity.QueryRequest;
import com.jhgsys.internal.system.dto.PostDto;
import com.jhgsys.internal.system.entity.Dept;
import com.jhgsys.internal.system.entity.Post;

import java.util.List;

public interface IPostService extends IService<Post> {
    /**
     * 查找所有岗位（分页）
     *
     * @param post    岗位对象（用于传递查询条件）
     * @param request request
     * @return IPage
     */
    IPage<Post> findPosts(Post post, QueryRequest request);


    /**
     * 通过岗位Id查找相应岗位
     *
     * @param postId 岗位Id
     * @return 岗位
     */
    Post findById(String postId);

    PostDto findDtoById(String postId);

    /**
     * 新增岗位
     *
     * @param post 待新增的岗位
     */
    void createPost(Post post);

    /**
     * 修改岗位
     *
     * @param post 待修改的岗位
     */
    void updatePost(Post post);


    /**
     * 逻辑删除岗位
     * @param postIds
     * @param post
     */
    void updatePostDeletedFlg(String postIds, Post post);

    /**
     * 查询所有岗位
     *
     * @param post 岗位
     * @return
     * @author dinght
     * @since 2024-08-14
     */
    List<Post> findDeptForm(Post post);

}
